/* generated using openapi-typescript-codegen -- do no edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { BaseResponse_long_ } from '../models/BaseResponse_long_';
import type { BaseResponse_Page_ExamQuestionVO_ } from '../models/BaseResponse_Page_ExamQuestionVO_';
import type { DeleteRequest } from '../models/DeleteRequest';
import type { ExamQuestionAddRequest } from '../models/ExamQuestionAddRequest';
import type { ExamQuestionQueryRequest } from '../models/ExamQuestionQueryRequest';
import type { ExamQuestionUpdateRequest } from '../models/ExamQuestionUpdateRequest';

import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';

export class ExamQuestionControllerService {

    /**
     * addExamQuestion
     * @param examQuestionAddRequest examQuestionAddRequest
     * @returns BaseResponse_long_ OK
     * @returns any Created
     * @throws ApiError
     */
    public static addExamQuestionUsingPost(
examQuestionAddRequest: ExamQuestionAddRequest,
): CancelablePromise<BaseResponse_long_ | any> {
        return __request(OpenAPI, {
            method: 'POST',
            url: '/api/exam_question/add',
            body: examQuestionAddRequest,
            errors: {
                401: `Unauthorized`,
                403: `Forbidden`,
                404: `Not Found`,
            },
        });
    }

    /**
     * deleteExamQuestion
     * @param deleteRequest deleteRequest
     * @returns BaseResponse_boolean_ OK
     * @returns any Created
     * @throws ApiError
     */
    public static deleteExamQuestionUsingPost(
deleteRequest: DeleteRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
        return __request(OpenAPI, {
            method: 'POST',
            url: '/api/exam_question/delete',
            body: deleteRequest,
            errors: {
                401: `Unauthorized`,
                403: `Forbidden`,
                404: `Not Found`,
            },
        });
    }

    /**
     * listExamQuestionByPage
     * @param examQuestionQueryRequest examQuestionQueryRequest
     * @returns BaseResponse_Page_ExamQuestionVO_ OK
     * @returns any Created
     * @throws ApiError
     */
    public static listExamQuestionByPageUsingPost(
examQuestionQueryRequest: ExamQuestionQueryRequest,
): CancelablePromise<BaseResponse_Page_ExamQuestionVO_ | any> {
        return __request(OpenAPI, {
            method: 'POST',
            url: '/api/exam_question/list/page',
            body: examQuestionQueryRequest,
            errors: {
                401: `Unauthorized`,
                403: `Forbidden`,
                404: `Not Found`,
            },
        });
    }

    /**
     * listMyExamQuestionVOByPage
     * @param examQuestionQueryRequest examQuestionQueryRequest
     * @returns BaseResponse_Page_ExamQuestionVO_ OK
     * @returns any Created
     * @throws ApiError
     */
    public static listMyExamQuestionVoByPageUsingPost(
examQuestionQueryRequest: ExamQuestionQueryRequest,
): CancelablePromise<BaseResponse_Page_ExamQuestionVO_ | any> {
        return __request(OpenAPI, {
            method: 'POST',
            url: '/api/exam_question/my/list/page/vo',
            body: examQuestionQueryRequest,
            errors: {
                401: `Unauthorized`,
                403: `Forbidden`,
                404: `Not Found`,
            },
        });
    }

    /**
     * updateExam
     * @param examQuestionUpdateRequest examQuestionUpdateRequest
     * @returns BaseResponse_boolean_ OK
     * @returns any Created
     * @throws ApiError
     */
    public static updateExamUsingPost1(
examQuestionUpdateRequest: ExamQuestionUpdateRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
        return __request(OpenAPI, {
            method: 'POST',
            url: '/api/exam_question/update',
            body: examQuestionUpdateRequest,
            errors: {
                401: `Unauthorized`,
                403: `Forbidden`,
                404: `Not Found`,
            },
        });
    }

}
